home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / survival.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-05-04  |  18.8 KB  |  612 lines

  1. 1  KEY OFF
  2. 10  '---------------------------------------------------------------
  3. 12  '
  4. 14  ' Survival: by Stewart F. Rush (Enhancements by G. M. Bright)
  5. 16  '
  6. 18  ' variable definitions: P  = current position
  7. 20  '                       T1 = current elapsed time
  8. 22  '                       T2 = oxygen remaining
  9. 24  '                       C  = no. of items carried
  10. 28  '                       F1 = flag: shed open
  11. 30  '                       F2 = flag: meteor shower occurred
  12. 32  '                       F3 = flag: laser beam deflected
  13. 34  '                       F4 = flag: ventillator shaft illuminated
  14. 36  '                       F5 = flag: deactivator exposed
  15. 38  '                       F7 = flag: spacecraft repair status
  16. 40  '                       F9 = flag: power in use
  17. 42  '                       P1 = power unit power remaining
  18. 44  '                       P2 = power pack power remaining
  19. 45  '                       V  = number of reads of computer message
  20. 46  '
  21. 60  '---------------------------------------------------------------
  22. 100  SCREEN 0: WIDTH 80
  23. 170  CLEAR: DIM T$(64): DIM M(43,8): DIM O(15)
  24. 176  '***************************************
  25. 178  '** initialize text and move matrices **
  26. 180  '***************************************
  27. 182  CLS: COLOR 16,7: PRINT "SURVIVAL";: COLOR 7,0
  28. 186  PRINT ": Would you like instructions (y/n)?"
  29. 220  D$=INKEY$:IF D$="" THEN 220 ELSE IF D$="y" THEN GOSUB 5040
  30. 221  PRINT: PRINT "initialization in process - please wait"
  31. 222  FOR I=1 TO 15
  32. 224    READ O(I)
  33. 226  NEXT I
  34. 230  FOR I= 1 TO 64
  35. 240    READ T$(I)
  36. 250  NEXT I
  37. 260  FOR I= 1 TO 43
  38. 270    FOR J = 1 TO 8
  39. 280      READ M(I,J)
  40. 290    NEXT J
  41. 300  NEXT I
  42. 305  RESTORE
  43. 320  P=1: C=2: T1=0: T2=185: P1=230: P2=50: V=0
  44. 390  F1=0: F2=0: F3=0: F4=0: F5=0: F7=0: F9=0
  45. 400  M(2,8)=6
  46. 410  M(14,8)=30
  47. 620  REM *****************************************************
  48. 630  REM ** display current status and location information **
  49. 640  REM *****************************************************
  50. 650  CLS
  51. 653  COLOR 0,7:PRINT "*****************************************":COLOR 7,0
  52. 654  COLOR 0,7:PRINT "* CURRENT STATUS & LOCATION INFORMATION *":COLOR 7,0
  53. 655  COLOR 0,7:PRINT "*****************************************":COLOR 7,0
  54. 690  IF O(11)=99 AND P1>0 THEN P1=P1-5
  55. 700  IF O(14)=99 AND P2>0 THEN P2=P2-5
  56. 710  IF O(3)=99 AND T2>0 THEN T2=T2-5
  57. 720  IF (P>21) AND (F9=0) THEN 760
  58. 730  IF (O(11)<>99) AND (O(14)<>99) THEN 2870
  59. 740  IF (O(11)=99) AND (P1=0) THEN 2870
  60. 750  IF (O(14)=99) AND (P2=0) THEN 2870
  61. 760  IF (P>17) AND (P<22) THEN 790
  62. 770  IF (P>21) AND (P<>38) AND (F9=0) THEN 790
  63. 780  IF (O(3)<>99) OR (T2=0) THEN 2900
  64. 790  PRINT: PRINT "ELAPSED TIME: ";T1;" MINUTES"
  65. 800  IF O(11)=99 THEN PRINT "POWER UNIT: ";P1;" UNITS"
  66. 810  IF O(14)=99 THEN PRINT "POWER PACK: ";P2;" UNITS"
  67. 820  IF O(3)=99 THEN PRINT "OXYGEN REMAINING: ";T2;" MINUTES"
  68. 830  IF T1>400 THEN 2960
  69. 840  IF T1>350 THEN 3840
  70. 850  IF T1>200 THEN 3740
  71. 855  T1=T1+5
  72. 860  PRINT: PRINT "LOCATION: You are ";
  73. 870  FOR I=M(P,7) TO M(P,8)
  74. 880  PRINT T$(I)
  75. 890  NEXT I
  76. 900  PRINT "##"
  77. 910  REM *********************************
  78. 920  REM ** display any objects present **
  79. 930  REM *********************************
  80. 940  IF P=14 THEN 1920
  81. 950  FOR I = 1 TO 15
  82. 960  IF O(I)<>P THEN 990
  83. 970  GOSUB 4410
  84. 980  PRINT "There is ";B$;" here."
  85. 990  NEXT I
  86. 1000  GOTO 2000
  87. 1010  REM ****************************************
  88. 1020  REM ** read and process keyboard response **
  89. 1030  REM ****************************************
  90. 1040  INPUT B$: IF LEN(B$)<>1 GOTO 1320
  91. 1050  I=INSTR(1,"nsewudq",B$)
  92. 1060  IF I=0 GOTO 1570 ELSE IF I=7 GOTO 9999
  93. 1150  IF M(P,I)=0 THEN PRINT "You cannot go in that direction!": GOTO 1040
  94. 1160  IF M(P,I)=99 THEN 2940
  95. 1170  Q=M(P,I)
  96. 1180  IF P=12 THEN 3060
  97. 1190  IF P=13 THEN 3180
  98. 1200  IF P=22 THEN 3310
  99. 1210  IF P=23 THEN 3420
  100. 1220  IF P=29 THEN 3470
  101. 1230  R=P
  102. 1240  P=Q
  103. 1260  GOTO 650
  104. 1290  REM ********************************************
  105. 1300  REM ** process two or more character commands **
  106. 1310  REM ********************************************
  107. 1320  C$=LEFT$(B$,3)
  108. 1330  IF C$="loo" THEN 650
  109. 1340  IF C$="des" THEN 650
  110. 1345  IF C$="sta" THEN 650
  111. 1350  IF C$="get" THEN 2190
  112. 1360  IF C$="tak" THEN 2190
  113. 1370  IF C$="kee" THEN 2190
  114. 1380  IF C$="dro" THEN 2580
  115. 1390  IF C$="lea" THEN 2580
  116. 1400  IF C$="put" THEN 2580
  117. 1410  IF C$="inv" THEN 2780
  118. 1420  IF C$="qui" THEN 9999
  119. 1430  IF C$="end" THEN 9999
  120. 1440  IF C$="tra" THEN 1750
  121. 1450  IF C$="dig" THEN 1860
  122. 1470  IF C$="fue" THEN 4030
  123. 1480  IF C$="rea" THEN 4250
  124. 1490  IF C$="dea" THEN 3890
  125. 1500  IF C$="bla" THEN 4110
  126. 1505  IF C$="fir" THEN 4110
  127. 1510  IF C$="up" THEN 1640
  128. 1520  IF C$="dow" THEN 1640
  129. 1530  IF C$="nor" THEN 1640
  130. 1540  IF C$="sou" THEN 1640
  131. 1550  IF C$="eas" THEN 1640
  132. 1560  IF C$="wes" THEN 1640
  133. 1562  IF C$="hel" THEN 1581
  134. 1564  IF C$="wha" THEN 1581
  135. 1566  IF C$="deb" THEN 1610
  136. 1567  IF C$="ent" THEN 1670
  137. 1570  PRINT "Invalid Command"
  138. 1575  IF IC<5 THEN PRINT "You may enter `help' for some suggestions."
  139. 1580  GOTO 1040
  140. 1581  PRINT "Valid direction commands are: north, south, east, west, up & down."
  141. 1582  PRINT "You can also just enter the first letter, i.e. n,s,w,e,u,d."
  142. 1583  PRINT "Other commands include: inventory, fuel, dig, transport, etc."
  143. 1584  PRINT "The latter can be abbreviated by using only 3 letters. The"
  144. 1585  PRINT "commands try or use are useful only when you confront a situation."
  145. 1586  PRINT "Commands other than directives may require an object. Good luck!"
  146. 1587  GOTO 1040
  147. 1590  PRINT "I cannot process your request!"
  148. 1600  GOTO 1040
  149. 1610  PRINT "enter location"
  150. 1620  INPUT P
  151. 1630  GOTO 650
  152. 1640  D$=LEFT$(B$,1)
  153. 1650  B$=D$
  154. 1660  GOTO 1070
  155. 1670  '
  156. 1672  ' PROCESS SHED AND SPACE CRAFT ENTRY
  157. 1674  '
  158. 1680  IF P<>13 AND P<>15 THEN 1590
  159. 1690  IF P=13 THEN I=4: GOTO 3180
  160. 1700  I=2: GOTO 1170
  161. 1720  REM *******************************
  162. 1730  REM ** process transport command **
  163. 1740  REM *******************************
  164. 1750  IF P<>36 THEN 1800
  165. 1760  IF O(8)=99 THEN 1590
  166. 1770  P=O(8)
  167. 1780  PRINT "Beaming in process "
  168. 1782  FOR I = 1 TO 60: PRINT "~";: SOUND 300,1: NEXT
  169. 1790  GOTO 650
  170. 1800  IF P<>O(8) THEN 1590 ELSE P=36: GOTO 1780
  171. 1830  REM *************************
  172. 1840  REM ** process dig command **
  173. 1850  REM *************************
  174. 1860  IF O(15)<>99 THEN GOTO 3940
  175. 1865  IF P<>10 THEN PRINT "The ground is too hard here.": GOTO 1040
  176. 1870  O(9)=10
  177. 1880  GOTO 940
  178. 1890  REM *************************************
  179. 1900  REM ** drop illuminator if at overlook **
  180. 1910  REM *************************************
  181. 1920  IF O(4)<>99 THEN 950
  182. 1930  O(4)=100
  183. 1940  PRINT "You dropped your illuminator!!!  You cannot retrieve it."
  184. 1950  GOTO 950
  185. 1970  REM *******************
  186. 1980  REM ** process robot **
  187. 1990  REM *******************
  188. 2000  IF O(5)=28 THEN O(5)=35
  189. 2010  IF O(5)=42 THEN O(5)=28
  190. 2020  IF O(5)=41 THEN O(5)=42
  191. 2030  IF O(5)=27 THEN O(5)=41
  192. 2040  IF O(5)=25 THEN O(5)=27
  193. 2050  IF O(5)<>35 THEN 2090
  194. 2060  IF P<>28 THEN 1010
  195. 2070  M(28,1)=35
  196. 2080  GOTO 1010
  197. 2090  IF O(5)<>32 THEN 1010
  198. 2100  IF P<>32 THEN 1010
  199. 2110  O(5)=25
  200. 2120  IF O(13)=99 THEN 1010
  201. 2130  PRINT "Robot fails to recognize you.  It fires a phasor weapon at you!!!"
  202. 2135  FOR I=1 TO 1800:  NEXT
  203. 2140  FOR I=1 TO 3: FOR IS=1 TO 12: IT=(25*IS): SOUND 2600-IT,1: NEXT: NEXT
  204. 2145  FOR I=1 TO 1800:  NEXT
  205. 2150  GOTO 2980
  206. 2160  REM *********************************
  207. 2170  REM ** process get or take command **
  208. 2180  REM *********************************
  209. 2190  GOSUB 4590
  210. 2200  IF I>0 THEN 2260
  211. 2210  IF I<0 THEN 2240
  212. 2220  PRINT "I don't recognize ";RIGHT$(B$,LEN(B$)-J);"."
  213. 2230  GOTO 1040
  214. 2240  PRINT "What item?"
  215. 2250  GOTO 1040
  216. 2260  IF O(I)<>P THEN 2370
  217. 2270  IF C>3 THEN PRINT "You can't carry anymore!": GOTO 1040
  218. 2280  IF I=5 THEN PRINT "You can't carry a Robot!": GOTO 1040
  219. 2285  IF I=7 THEN PRINT "The bomb is way too heavy!": GOTO 1040
  220. 2290  IF I=10 THEN 2430
  221. 2300  IF I=11 THEN 2460
  222. 2310  IF I=14 THEN 2490
  223. 2320  C=C+1
  224. 2330  O(I)=99
  225. 2340  IF I=3 THEN F0=1
  226. 2350  PRINT "Okay"
  227. 2360  GOTO 1040
  228. 2370  IF O(I)=99 THEN 2542
  229. 2375  PRINT "There is no ";RIGHT$(B$,LEN(B$)-J);" here!!!"
  230. 2380  GOTO 1040
  231. 2430  PRINT "You can't get the message.  It's on the terminal screen."
  232. 2450  GOTO 1040
  233. 2460  IF O(14)=99 THEN 2520
  234. 2470  O(11)=99
  235. 2480  GOTO 2320
  236. 2490  IF O(11)=99 THEN 2520
  237. 2500  O(14)=99
  238. 2510  GOTO 2320
  239. 2520  PRINT "You can't have more than one power device at a time!"
  240. 2540  GOTO 1040
  241. 2542  PRINT "You already have ";RIGHT$(B$,LEN(B$)-J);"!"
  242. 2544  GOTO 1040
  243. 2550  REM ***********************************
  244. 2560  REM ** process drop or leave command **
  245. 2570  REM ***********************************
  246. 2580  GOSUB 4590
  247. 2590  IF I>0 THEN 2620
  248. 2600  IF I<0 THEN 2240
  249. 2610  GOTO 2220
  250. 2620  IF O(I)<>99 THEN 2690
  251. 2630  C=C-1
  252. 2640  O(I)=P
  253. 2680  GOTO 2350
  254. 2690  PRINT "You don't have "RIGHT$(B$,LEN(B$)-J);"!"
  255. 2700  GOTO 1040
  256. 2750  REM *******************************
  257. 2760  REM ** process inventory command **
  258. 2770  REM *******************************
  259. 2780  FOR I=1 TO 15
  260. 2790  IF O(I)<>99 THEN 2820
  261. 2800  GOSUB 4410
  262. 2810  PRINT "You have ";B$;"."
  263. 2820  NEXT I
  264. 2830  GOTO 1040
  265. 2840  REM ************************************
  266. 2850  REM ** program termination processing **
  267. 2860  REM ************************************
  268. 2870  PRINT "You have no power left, or you have no power source."
  269. 2880  PRINT "You have frozen to death."
  270. 2890  GOTO 2980
  271. 2900  PRINT "Oxygen required here, none available."
  272. 2910  GOTO 2980
  273. 2920  PRINT "A nuclear detonation has just occurred."
  274. 2930  GOTO 2980
  275. 2940  PRINT "You have fallen to your death."
  276. 2950  GOTO 2980
  277. 2952  PRINT "You have been zapped by the laser."
  278. 2954  GOTO 2980
  279. 2960  PRINT "The moon base has just been destroyed by a large asteroid."
  280. 2980  PRINT "You have failed to survive."
  281. 2990  INPUT "Do you wish to try again";D$
  282. 3010  IF LEFT$(D$,1)="y" THEN 221
  283. 3020  GOTO 9999
  284. 3030  REM ***************************
  285. 3040  REM ** process meteor shower **
  286. 3050  REM ***************************
  287. 3060  IF M(P,I)<>13 THEN 1230
  288. 3070  IF F2=1 THEN 1230
  289. 3080  PRINT "There is a meteor shower.  Your space suit has developed a leak!!"
  290. 3100  GOSUB 4890
  291. 3110  IF I<>2 THEN 2980
  292. 3120  PRINT "Proceeding to seal suit.......":FOR CX=1 TO 1500: NEXT CX
  293. 3130  F2=1
  294. 3140  GOTO 1230
  295. 3150  REM *************************
  296. 3160  REM ** process locked shed **
  297. 3170  REM *************************
  298. 3180  IF M(P,I)<>22 THEN 1230
  299. 3190  IF F1=1 THEN 1230
  300. 3200  PRINT "The shed is locked"
  301. 3210  GOSUB 4890
  302. 3220  IF I<>1 THEN 3260
  303. 3230  PRINT "Proceeding to try key.......":FOR CX=1 TO 1500: NEXT CX
  304. 3240  F1=1
  305. 3250  GOTO 1230
  306. 3260  PRINT "Your attempt fails."
  307. 3270  GOTO 1040
  308. 3280  REM ***********************************
  309. 3290  REM ** process dark ventilator shaft **
  310. 3300  REM ***********************************
  311. 3310  IF M(P,I)<>23 THEN 1230
  312. 3320  IF F4=1 THEN 1230
  313. 3330  PRINT "It is dangerous to proceed in the dark!"
  314. 3340  GOSUB 4890
  315. 3350  IF I<>4 THEN 2940
  316. 3360  PRINT "The shaft is now illuminated.  You may proceed.......":FOR CX=1 TO 2500: NEXT CX
  317. 3370  F4=1
  318. 3380  GOTO 1230
  319. 3390  REM ************************************
  320. 3400  REM ** process shaft with no illuminator
  321. 3410  REM ***************************************
  322. 3420  IF O(4)<>99 THEN IF O(4)<>23 THEN 2940
  323. 3430  GOTO 1230
  324. 3440  REM ************************
  325. 3450  REM ** process laser beam **
  326. 3460  REM ************************
  327. 3470  IF M(P,I)<>37 THEN 1230
  328. 3480  IF F3=1 THEN 1230
  329. 3490  PRINT "There is a laser beam here. Passage not possible with beam present."
  330. 3510  GOSUB 4890
  331. 3520  IF I<>12 THEN 2952
  332. 3530  PRINT "Proceeding to deflect beam.......":FOR CX=1 TO 2500: NEXT CX
  333. 3540  F3=1
  334. 3550  GOTO 1230
  335. 3560  REM *****************************************
  336. 3570  REM ** process blown seal in space station **
  337. 3580  REM *****************************************
  338. 3590  IF R<>29 THEN 850
  339. 3600  IF F9=1 THEN 850
  340. 3610  F9=1
  341. 3620  PRINT "You have just blown the air seal in space station."
  342. 3640  GOTO 850
  343. 3710  REM ************************
  344. 3720  REM ** expose deactivator **
  345. 3730  REM ************************
  346. 3740  IF F5=1 THEN 855
  347. 3750  O(6)=14
  348. 3760  M(2,8)=5
  349. 3770  M(14,8)=29
  350. 3780  M(14,4)=2
  351. 3790  F5=1
  352. 3800  GOTO 855
  353. 3810  REM *******************
  354. 3820  REM ** detonate bomb **
  355. 3830  REM *******************
  356. 3840  IF F7=0 THEN 2920
  357. 3850  GOTO 850
  358. 3860  REM *********************
  359. 3870  REM ** deactivate bomb **
  360. 3880  REM *********************
  361. 3890  IF O(6)<>99 THEN 3940
  362. 3900  IF P<>38 THEN 3980
  363. 3910  F7=1
  364. 3915  T$(31)="at crash site of a space craft.  Repairs are now complete."
  365. 3920  PRINT "Bomb is now deactivated."
  366. 3930  GOTO 1040
  367. 3940  PRINT "You have nothing to do it with!"
  368. 3950  GOTO 1040
  369. 3960  PRINT "There is nothing to do it to!"
  370. 3970  GOTO 1040
  371. 3980  PRINT "You can't do it from here!"
  372. 3990  GOTO 1040
  373. 4000  REM *****************
  374. 4010  REM ** fuel rocket **
  375. 4020  REM *****************
  376. 4030  IF P<>19 THEN 3980
  377. 4040  IF O(9)<>99 THEN 3940
  378. 4050  O(9)=98
  379. 4060  PRINT "Fuel is now loaded."
  380. 4070  GOTO 1040
  381. 4080  REM *************************
  382. 4090  REM ** blastoff processing **
  383. 4100  REM *************************
  384. 4110  IF P<>21 THEN 3980
  385. 4120  IF O(9)<>98 THEN 4200
  386. 4130  IF F7=1 THEN 4160
  387. 4140  PRINT "Repairs not yet complete."
  388. 4150  GOTO 1040
  389. 4160  FOR IS=1 TO 150: IJ=IS*10: SOUND IJ+1000,1: NEXT IS
  390. 4165  PRINT "Congratulations, you have just blasted off and are on your way to               earth.  Your escape time was ";T1;" minutes."
  391. 4190  GOTO 2990
  392. 4200  PRINT "Your space craft has no fuel!!"
  393. 4210  GOTO 1040
  394. 4220  REM *********************************
  395. 4230  REM ** computer readout processing **
  396. 4240  REM *********************************
  397. 4250  IF P<>35 THEN 3980
  398. 4260  GOSUB 4590
  399. 4270  IF I<>10 THEN 3960
  400. 4280  IF V<>0 THEN 4320
  401. 4290  PRINT "Bomb de-activator located somewhere east of Mare Serenitatis on moon's surface."
  402. 4310  GOTO 4360
  403. 4320  IF V<>1 THEN 4350
  404. 4330  PRINT "Local fuel source: Dilithium Crystal."
  405. 4340  GOTO 4360
  406. 4350  PRINT "Dilithium found in soft surfaces."
  407. 4360  IF F7=1 THEN PRINT "Spacecraft repairs complete."
  408. 4365  V=V+1
  409. 4370  GOTO 1040
  410. 4380  REM **********************************************
  411. 4390  REM ** subroutine to describe items at location **
  412. 4400  REM **********************************************
  413. 4410  IF I=1 THEN B$="an ELECTRONIC KEY"
  414. 4420  IF I=2 THEN B$="SEALANT"
  415. 4430  IF I=3 THEN B$="an OXYGEN MODULE"
  416. 4440  IF I=4 THEN B$="an ILLUMINATOR"
  417. 4450  IF I=5 THEN B$="a ROBOT"
  418. 4460  IF I=6 THEN B$="a DEACTIVATOR"
  419. 4470  IF I=7 THEN B$="a NUCLEAR BOMB"
  420. 4480  IF I=8 THEN B$="a TRANSPORTER UNIT"
  421. 4490  IF I=9 THEN B$="DILITHIUM CRYSTALS"
  422. 4500  IF I=10 THEN B$="a COMPUTER MESSAGE"
  423. 4510  IF I=11 THEN B$="a POWER UNIT"
  424. 4520  IF I=12 THEN B$="a MIRROR"
  425. 4530  IF I=13 THEN B$="a CODED BADGE"
  426. 4540  IF I=14 THEN B$="a POWER PACK"
  427. 4545  IF I=15 THEN B$="a SHOVEL"
  428. 4550  RETURN
  429. 4560  REM ***********************************************
  430. 4570  REM ** subroutine to convert an item to a number **
  431. 4580  REM ***********************************************
  432. 4590  FOR J=1 TO LEN(B$)
  433. 4600  IF MID$(B$,J,1)=" " THEN 4640
  434. 4610  NEXT J
  435. 4620  I=-1
  436. 4630  RETURN
  437. 4640  C$=MID$(B$,J+1,3)
  438. 4650  I=0
  439. 4660  IF C$="ele" THEN I=1
  440. 4670  IF C$="key" THEN I=1
  441. 4680  IF C$="sea" THEN I=2
  442. 4690  IF C$="oxy" THEN I=3
  443. 4700  IF C$="mod" THEN I=3
  444. 4710  IF C$="ill" THEN I=4
  445. 4720  IF C$="rob" THEN I=5
  446. 4730  IF C$="dea" THEN I=6
  447. 4740  IF C$="nuc" THEN I=7
  448. 4750  IF C$="bom" THEN I=7
  449. 4760  IF C$="tra" THEN I=8
  450. 4770  IF C$="dil" THEN I=9
  451. 4780  IF C$="cry" THEN I=9
  452. 4790  IF C$="com" THEN I=10
  453. 4800  IF C$="mes" THEN I=10
  454. 4810  IF C$="uni" THEN I=11
  455. 4820  IF C$="mir" THEN I=12
  456. 4830  IF C$="bad" THEN I=13
  457. 4840  IF C$="pac" THEN I=14
  458. 4845  IF C$="sho" THEN I=15
  459. 4850  RETURN
  460. 4860  REM ***************************************
  461. 4870  REM ** subroutine to process try command **
  462. 4880  REM ***************************************
  463. 4890  INPUT B$
  464. 4900  C$=LEFT$(B$,3)
  465. 4910  IF C$="try" THEN 4950
  466. 4920  IF C$="use" THEN 4950
  467. 4930  I=-1
  468. 4940  RETURN
  469. 4950  GOSUB 4590
  470. 4960  IF I<1 THEN 5012
  471. 4970  IF O(I)=99 THEN RETURN
  472. 4980  PRINT"You don't have ";STR$(B$,J+1);"!"
  473. 4990  GOTO 4930
  474. 5000  PRINT "Your attempt fails!"
  475. 5010  GOTO 4930
  476. 5012  PRINT "With what?": GOTO 4930
  477. 5020  REM ************************
  478. 5030  REM ** print instructions **
  479. 5040  REM ************************
  480. 5045  CLS
  481. 5050  PRINT "You have crash landed on the earth's moon.  You have limited supplies and time  in which to survive.  You will encounter various items and situations during    your travels."
  482. 5055  PRINT
  483. 5060  PRINT "To travel, you may enter directions such as north or n, as well as s, e, w, and u or d (up or down)."
  484. 5065  PRINT
  485. 5090  PRINT "To communicate, enter commands (verbs), followed by object names, if applicable.For example: get xxx, leave xxx, use xxx, etc."
  486. 5110  PRINT "Unless instructed otherwise, be sure to press the ENTER key after each input.   The enter key is on the right of the keyboard and has this symbol on it: "+CHR$( 17)+CHR$(196)+CHR$(217)
  487. 5115  PRINT
  488. 5120  PRINT "Once you have survived, the object then is to achieve the optimum survival time.May the force be with you!!!"
  489. 5122  PRINT
  490. 5124  COLOR 16,7:PRINT"Press any key to continue":COLOR 7,0
  491. 5126  A$=INKEY$: IF A$="" THEN 5126
  492. 5130  RETURN
  493. 6000  '****************************************
  494. 6001  '** object locations                   **
  495. 6002  '****************************************
  496. 6010  DATA 21,19,99,06,32,00,38
  497. 6020  DATA 35,00,35,99,33,34,37,43
  498. 7500  '********************************
  499. 7501  '** text location descriptions **
  500. 7502  '********************************
  501. 8001  DATA "at Mare Serenitatis. Long eerie"
  502. 8002  DATA "shadows from distant mountains and craters cast"
  503. 8003  DATA "themselves across the barren landscape."
  504. 8004  DATA "on a promontary point on the rim of the"
  505. 8005  DATA "crater Posidonius, only half visible when seen from below."
  506. 8006  DATA "There is total darkness to the East."
  507. 8007  DATA "between the craters of Dawes and Plinius."
  508. 8008  DATA "at a narrow pass in the mountains of Haemus."
  509. 8009  DATA "at a steep base of the crater of Manilus."
  510. 8010  DATA "at Mare Vaporum. The Apennines Mountains"
  511. 8011  DATA "rise ominously to the North and West."
  512. 8012  DATA "at the base of the awesome Mt. Eudoxus."
  513. 8013  DATA "inside the crater of Aristoteles. The"
  514. 8014  DATA "crater floor is littered with rocks."
  515. 8015  DATA "in Lacus Somnorium, North of Posidonius"
  516. 8016  DATA "and North East of Mare Serenitatus."
  517. 8017  DATA "at the base of the Burg crater in Lacus"
  518. 8018  DATA "Mortis. The surface is very soft here."
  519. 8019  DATA "at the East side of the vast Mare of"
  520. 8020  DATA "Imbrium. To the North the low angle of"
  521. 8021  DATA "the sun casts eerie shadows on the soft lunar surface"
  522. 8022  DATA "and the distant mountains to the East. To the West, the"
  523. 8023  DATA "Mare stretches out of sight to the horizon. To the South"
  524. 8024  DATA "the Apennine Mountains seem to rise out of nowhere."
  525. 8025  DATA "at the base of the crater of Plato. A"
  526. 8026  DATA "shiney object is seen to the West."
  527. 8027  DATA "standing before a small metal shed. A"
  528. 8028  DATA "sign reads ventillator shaft number 2."
  529. 8029  DATA "somewhere East of Mare Serenitatus."
  530. 8030  DATA "There is total darkness."
  531. 8031  DATA "at the crash site of a space craft."
  532. 8032  DATA "The entrance to the space craft is before you."
  533. 8033  DATA "at the center of vast Mare of Imbrium."
  534. 8034  DATA "in the air lock chamber of the space craft."
  535. 8035  DATA "in the aft cargo and fuel storage compartment."
  536. 8036  DATA "in the engine room of the space craft."
  537. 8037  DATA "in the control room, the ships console"
  538. 8038  DATA "is before you."
  539. 8039  DATA "inside a dark shed. A ladder leads down"
  540. 8040  DATA "into a large metal shaft below."
  541. 8041  DATA "in a ventillator passage."
  542. 8042  DATA "at a ventillator opening. Through the"
  543. 8043  DATA "opening a lit passageway can be seen."
  544. 8044  DATA "in a lighted space station corridor."
  545. 8045  DATA "in the space station infirmary."
  546. 8046  DATA "in the recreation room and library."
  547. 8047  DATA "in the mess hall. Abandoned food trays"
  548. 8048  DATA "are still on the tables."
  549. 8049  DATA "in the storage room and supply area."
  550. 8050  DATA "in the sleeping quarters of the space station."
  551. 8051  DATA "in an elevator at the subsurface level."
  552. 8052  DATA "in an elevator at the surface level."
  553. 8053  DATA "in the space station's control center."
  554. 8054  DATA "in the transporter room."
  555. 8055  DATA "in the space station research laboratory."
  556. 8056  DATA "in the hangar area. The launch area"
  557. 8057  DATA "is located to the South of here."
  558. 8058  DATA "in an air lock chamber between the space suit"
  559. 8059  DATA "changing area and the hangar."
  560. 8060  DATA "in a space suit changing area."
  561. 8061  DATA "at the top of a rocky arete on Burg crater. To"
  562. 8062  DATA "the North the center of the crater is thousands of feet below you."
  563. 8063  DATA "To the West, the huge crater of Eudoxus can be seen between crags"
  564. 8064  DATA "on a ridge bordering Lacus Mortis."
  565. 8500  REM **************************************
  566. 8501  REM ** movement and text pointer matrix **
  567. 8502  REM **************************************
  568. 9001  DATA 07,04,02,15,00,00,01,03
  569. 9002  DATA 09,03,14,01,00,00,04,06
  570. 9003  DATA 02,05,14,04,00,00,07,07
  571. 9004  DATA 01,05,03,00,00,00,08,08
  572. 9005  DATA 04,00,03,06,00,00,09,09
  573. 9006  DATA 00,00,05,00,00,00,10,11
  574. 9007  DATA 08,01,09,11,00,00,12,12
  575. 9008  DATA 00,07,10,00,00,00,13,14
  576. 9009  DATA 10,02,14,07,00,00,15,16
  577. 9010  DATA 00,09,14,08,43,00,17,18
  578. 9011  DATA 12,15,07,16,00,00,19,24
  579. 9012  DATA 00,11,00,13,00,00,25,26
  580. 9013  DATA 00,16,12,22,00,00,27,28
  581. 9014  DATA 99,99,99,99,00,00,29,30
  582. 9015  DATA 11,18,01,00,00,00,31,32
  583. 9016  DATA 17,16,17,16,00,00,33,33
  584. 9017  DATA 16,17,11,17,00,00,33,33
  585. 9018  DATA 15,19,00,00,00,00,34,34
  586. 9019  DATA 18,00,20,00,00,00,35,35
  587. 9020  DATA 00,00,00,19,21,00,36,36
  588. 9021  DATA 00,00,00,00,00,20,37,38
  589. 9022  DATA 00,00,13,00,00,23,39,40
  590. 9023  DATA 24,00,00,00,22,00,41,41
  591. 9024  DATA 25,23,00,00,00,00,42,43
  592. 9025  DATA 27,26,33,32,24,00,44,44
  593. 9026  DATA 25,00,30,31,00,00,44,44
  594. 9027  DATA 34,25,41,00,00,00,44,44
  595. 9028  DATA 00,29,42,36,00,00,44,44
  596. 9029  DATA 28,38,40,37,00,00,44,44
  597. 9030  DATA 00,00,00,26,00,00,45,45
  598. 9031  DATA 00,00,26,00,00,00,46,46
  599. 9032  DATA 00,00,25,00,00,00,47,48
  600. 9033  DATA 00,00,00,25,00,00,50,50
  601. 9034  DATA 00,27,00,00,00,00,49,49
  602. 9035  DATA 00,28,00,00,24,00,53,53
  603. 9036  DATA 00,00,28,00,00,00,54,54
  604. 9037  DATA 00,00,29,00,00,00,55,55
  605. 9038  DATA 29,00,39,00,00,00,56,57
  606. 9039  DATA 40,00,00,38,00,00,58,58
  607. 9040  DATA 00,39,00,29,00,00,60,60
  608. 9041  DATA 00,00,00,27,42,00,51,51
  609. 9042  DATA 00,00,00,28,00,41,52,52
  610. 9043  DATA 00,00,00,00,00,10,61,64
  611. 9999  END
  612.